package com.scalar.chiptrack.operations.process;

import java.util.LinkedHashMap;
import java.util.ArrayList;

public class BinSetup {

    public static final String TYPE_ACCEPT = "Accept";
    public static final String TYPE_REJECT = "Reject";
    public static final String TYPE_NA = "N/A";
    
    
  // ----------------------------------------------------- Instance Variables

    private String binNo = null;
    private String binType = TYPE_NA;
    private String binDescription = null;
    private String partNumber = null;
	private String oldPartNumber = null;
    private float yield = 0.0f;
    private String mark_Pack_ProcessStep_ID = "-1";
	private String fG_ProcessStep_ID = "-1";
    private boolean selectedBin      = false;
    private String lotNumber  = null;
    private String waferId    = null;
    private LinkedHashMap goodbinQtyMap = null;
    private LinkedHashMap rejectedbinQtyMap = null;
    private String vendorName = null;
    private int qtyIn  = 0;
    private int qtyOut = 0;
    private String dateIn      = null;
    private String downsizedBinNo       = null;
    private ArrayList downsizedBinList  = new ArrayList();

    private String bin1Qty      = null;
    private String bin2Qty      = null;
    private String psTypeName   = null;
    private int mrbStatus       = 1;
    private String dateOut      = null;

    private String bin1BalanceQty   = null;
    private String bin2BalanceQty   = null;
    private String bin3BalanceQty   = null;
    private String bin3Qty          = null;


    /**
     * Default Constructor
     *
     */
    public BinSetup() 
    {
    }

    /**
     * Constructor
     */
    public BinSetup (String binNo, String binType, String binDescription, String partNumber, float yield)
    {
        this.binNo = binNo;
        this.binDescription = binDescription;
        this.partNumber = partNumber;
        this.yield = yield;
        
        if ((binType != null) && (binType.trim().length() != 0)) {
            this.binType = binType;
        }
    }
    
	public BinSetup (String binNo, String binType, String binDescription, String partNumber, float yield,String mark_Pack_ProcessStep_ID,String fG_ProcessStep_ID)
	{
		this.binNo = binNo;
		this.binDescription = binDescription;
		this.partNumber = partNumber;
		this.yield = yield;
    
		if ((binType != null) && (binType.trim().length() != 0)) {
			this.binType = binType;
		}
		
		this.mark_Pack_ProcessStep_ID = mark_Pack_ProcessStep_ID;
		this.fG_ProcessStep_ID = fG_ProcessStep_ID;
	}


  /**
   * Get the Bin No
   *
   * @return binNo
   */
  public String getBinNo() {

	return binNo;

  }


  /**
   * Set the Bin No
   *
   * @param binNo
   */
  public void setBinNo(String binNo) {

	  this.binNo = binNo;

  }

 /**
  * Get the Bin Type
  *
  * @return binType
  */
  public String getBinType()
  {
	  return binType;
  }

  /**
   * Set Bin Type
   *
   * @param binType
   */
   public void setBinType (String binType)
   {
       if ((binType != null) && (binType.trim().length() != 0)) {
	   this.binType = binType;
       }
   }

   /**
    * GSet the Bin Description
    *
    * @return binDescription
    */
    public String getBinDescription()
    {
		return binDescription;
	}

   /**
    * Set the Bin Description
    *
    * @param description
    */
    public void setBinDescription(String description)
    {
        this.binDescription = description;
    }
    
   /**
    * Get the Part Number
    *
    * @return partNumber
    */    
    public String getPartNumber() {
        return this.partNumber;
    }
    
    /**
    * Set the Part Number
    *
    * @param partNumber
    */
    public void setPartNumber (String partNumber) {
        this.partNumber = partNumber;
    }

    
    /**
     * Yield Property
     */
    public float getYield() {
        return this.yield;
    }
    
    public void setYield (float yield) {
        this.yield = yield;
    }
	/**
	 * @return
	 */
	public String getFG_ProcessStep_ID() {
		return fG_ProcessStep_ID;
	}

	/**
	 * @return
	 */
	public String getMark_Pack_ProcessStep_ID() {
		return mark_Pack_ProcessStep_ID;
	}

	/**
	 * @param string
	 */
	public void setFG_ProcessStep_ID(String string) {
		fG_ProcessStep_ID = string;
	}

	/**
	 * @param string
	 */
	public void setMark_Pack_ProcessStep_ID(String string) {
		mark_Pack_ProcessStep_ID = string;
	}

    /**
     * @return
     */
    public String getOldPartNumber()
    {
        return oldPartNumber;
    }

    /**
     * @param string
     */
    public void setOldPartNumber(String string)
    {
        oldPartNumber = string;
    }

    public boolean isSelectedBin() {
        return selectedBin;
    }

    public void setSelectedBin(boolean selectedBin) {
        this.selectedBin = selectedBin;
    }

    public String getLotNumber() {
        return lotNumber;
    }

    public void setLotNumber(String lotNumber) {
        this.lotNumber = lotNumber;
    }

    public String getWaferId() {
        return waferId;
    }

    public void setWaferId(String waferId) {
        this.waferId = waferId;
    }

    public String getVendorName() {
        return vendorName;
    }

    public void setVendorName(String vendorName) {
        this.vendorName = vendorName;
    }

    public LinkedHashMap getRejectedbinQtyMap() {
        return rejectedbinQtyMap;
    }

    public void setRejectedbinQtyMap(LinkedHashMap rejectedbinQtyMap) {
        this.rejectedbinQtyMap = rejectedbinQtyMap;
    }

    public LinkedHashMap getGoodbinQtyMap() {
        return goodbinQtyMap;
    }

    public void setGoodbinQtyMap(LinkedHashMap goodbinQtyMap) {
        this.goodbinQtyMap = goodbinQtyMap;
    }

    public int getQtyIn() {
        return qtyIn;
    }

    public void setQtyIn(int qtyIn) {
        this.qtyIn = qtyIn;
    }

    public int getQtyOut() {
        return qtyOut;
    }

    public void setQtyOut(int qtyOut) {
        this.qtyOut = qtyOut;
    }

    public String getDateIn() {
        return dateIn;
    }

    public void setDateIn(String dateIn) {
        this.dateIn = dateIn;
    }

    public ArrayList getDownsizedBinList() {
        return downsizedBinList;
    }

    public void setDownsizedBinList(ArrayList downsizedBinList) {
        this.downsizedBinList = downsizedBinList;
    }

    public String getDownsizedBinNo() {
        return downsizedBinNo;
    }

    public void setDownsizedBinNo(String downsizedBinNo) {
        this.downsizedBinNo = downsizedBinNo;
    }

    public String getBin1Qty()
    {
        return bin1Qty;
    }

    public void setBin1Qty( String bin1Qty )
    {
        this.bin1Qty = bin1Qty;
    }

    public String getBin2Qty()
    {
        return bin2Qty;
    }

    public void setBin2Qty( String bin2Qty )
    {
        this.bin2Qty = bin2Qty;
    }

    public String getPsTypeName()
    {
        return psTypeName;
    }

    public void setPsTypeName( String psTypeName )
    {
        this.psTypeName = psTypeName;
    }

    public int getMrbStatus()
    {
        return mrbStatus;
    }

    public void setMrbStatus( int mrbStatus )
    {
        this.mrbStatus = mrbStatus;
    }

    public String getDateOut()
    {
        return dateOut;
    }

    public void setDateOut( String dateOut )
    {
        this.dateOut = dateOut;
    }

    public String getBin1BalanceQty()
    {
        return bin1BalanceQty;
    }

    public void setBin1BalanceQty( String bin1BalanceQty )
    {
        this.bin1BalanceQty = bin1BalanceQty;
    }

    public String getBin2BalanceQty()
    {
        return bin2BalanceQty;
    }

    public void setBin2BalanceQty( String bin2BalanceQty )
    {
        this.bin2BalanceQty = bin2BalanceQty;
    }

    public String getBin3BalanceQty()
    {
        return bin3BalanceQty;
    }

    public void setBin3BalanceQty( String bin3BalanceQty )
    {
        this.bin3BalanceQty = bin3BalanceQty;
    }

    public String getBin3Qty()
    {
        return bin3Qty;
    }

    public void setBin3Qty( String bin3Qty )
    {
        this.bin3Qty = bin3Qty;
    }
}